Pursuant to an exemplary scenario, multimedia data, such as a video content, may be encoded (e.g., compressed) for transmission and/or storage purposes. The multimedia data may include a plurality of multimedia pictures (e.g., multimedia frames or fields). During encoding, a multimedia data encoder (hereinafter referred to as an encoder) may compress multimedia pictures in an on-going manner, such that each encoded multimedia picture is associated with a number of bits. The generated bit stream may be transmitted over a transmission channel to a multimedia data decoder (hereinafter referred to as a decoder). The transmitted bits may be stored in a decoder buffer associated with the decoder till the decoder removes those bits for decoding purposes. The encoder may need to ensure that at any given point of time, the bit stream is always contained wholly within the decoder buffer. A buffer underflow (not enough bits in the decoder buffer for decoding a multimedia picture) will result in stalls during multimedia playback while a buffer overflow at the decoder buffer will result in loss of data.
The bit stream may be transmitted over various transmission channels, which may be associated with different transmission capacities (bit rates). Further, the decoder may reside on any of a variety of multimedia devices, such as mobile phones, music players, computing devices and the like, and hence may be associated with different decoder buffer sizes. The variety in transmission bit rates and the decoder buffer sizes makes it difficult for the encoder to estimate the desired bit allocation for encoding multimedia pictures, such that the decoder buffer does not suffer from buffer underflow or buffer overflow. If a number of bits allocated for encoding multimedia pictures is large than the decoder buffer may suffer from buffer underflow. If a number of bits allocated for encoding multimedia pictures is low, then a multimedia data quality may be compromised.